<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    function Fn() {
      
    }

    /* 
    在解析函数声明内部, 创建函数对象后
    Fn.prototype = {}
    Fn.prototype.constructor = Fn
    */
    const fn = new Fn()

    /* 
    在创建Fn的实例对象后, 内部:
    this.__proto__ = Fn.prototype
    */
    console.log(Fn.prototype)
    console.log(fn.__proto__)
    console.log(fn.__proto__===Fn.prototype) // true

    console.log(Function.prototype)
    console.log(Function.prototype.__proto__===Object.prototype)
    /* 
    js引擎执行: 
    Function.prototype.__proto__ = Object.prototype
    */


    function Foo () {}
    const f1 = new Foo()
    const f2 = new Foo()

    const o1 = new Object()
    const o2 = {}

  </script>
</body>
</html>